package com.eduplatform.dto;

import lombok.Data;

import java.time.LocalDateTime;

/**
 * 考试答题记录数据传输对象
 */
@Data
public class ExamAnswerDTO {

    /**
     * 主键ID
     */
    private Long id;

    /**
     * 考试答卷ID
     */
    private Long examPaperId;

    /**
     * 题目ID
     */
    private Long questionId;

    /**
     * 题目内容
     */
    private String questionContent;

    /**
     * 题目类型
     */
    private Integer questionType;

    /**
     * 题目选项
     */
    private String options;

    /**
     * 学生答案
     */
    private String studentAnswer;

    /**
     * 标准答案
     */
    private String standardAnswer;

    /**
     * 题目分值
     */
    private Integer questionScore;

    /**
     * 得分
     */
    private Integer score;

    /**
     * 批改状态：0-未批改，1-已批改
     */
    private Integer status;

    /**
     * 批改人ID（客观题自动批改为0）
     */
    private Long graderId;

    /**
     * 批改人姓名
     */
    private String graderName;

    /**
     * 批改时间
     */
    private LocalDateTime gradeTime;

    /**
     * 批改评语
     */
    private String comment;

    /**
     * 获取题目类型名称
     */
    public String getQuestionTypeName() {
        if (questionType == null) {
            return "";
        }
        switch (questionType) {
            case 1:
                return "单选题";
            case 2:
                return "多选题";
            case 3:
                return "判断题";
            case 4:
                return "填空题";
            case 5:
                return "简答题";
            default:
                return "未知";
        }
    }

    /**
     * 获取批改状态名称
     */
    public String getStatusName() {
        if (status == null) {
            return "";
        }
        switch (status) {
            case 0:
                return "未批改";
            case 1:
                return "已批改";
            default:
                return "未知";
        }
    }
}